#ifndef __GWINDOW_H
#define __GWINDOW_H

#include "gui.h"



class GWindow : public GUI {
	GUI_CLASS("GWindow")

private:
	HANDLE hModalEvent;
	HWND m_hOldFocus;

protected:
	virtual void initGUI();
	bool GUIProc(UINT uMsg, WPARAM wParam, LPARAM lParam);

	// event handlers
	virtual void onCreate() { };
	virtual void onClose() { };
	virtual void onAction(GUI* gui, WORD wMsg) { }

public:
	// constructors
	GWindow(GUI *parent = NULL);
	~GWindow();

	bool isResizable();
	void setResizable(bool set);

	void setAlpha(BYTE alpha);

	void showModal();
};


#endif  // __GWINDOW_H
